#pragma once


class CVideoFrame;
class CAudioFrame;


class ILibavImgResample
{
public:	
	virtual ~ILibavImgResample(void){};

	virtual BOOL Init(int srcW, int srcH, int dstW, int dstH) = 0;
	virtual BOOL Process(CVideoFrame* pSrc, CVideoFrame** pDes) = 0;
	
};

class ILibavAuResample
{
public:
	virtual ~ILibavAuResample(){};

	virtual BOOL Init(int dstCh, int dstSampleRate, int srcCh, int srcSampleRate) = 0;
	virtual BOOL Process(CAudioFrame* pSrc, CAudioFrame** pDst, int sampleCount) = 0;
};


ILibavImgResample* CreateLibImgResample();
ILibavAuResample*  CreateLibAuResample();